class TFProjectileFire extends ProjectileFire;

function Projectile SpawnProjectile(Vector Start, Rotator Dir)
{
    local Projectile p;
    local tfpri pri;
    p=super.SpawnProjectile(Start,Dir);

    if(p!=none && tfprojectile(p)!=none)
    {
        if(instigator!=none && instigator.PlayerReplicationInfo!=none && tfpri(instigator.PlayerReplicationInfo)!=none)
    	       pri=tfpri(instigator.PlayerReplicationInfo);
        else if(owner!=none && pawn(owner)!=none && pawn(owner).PlayerReplicationInfo!=none && tfpri(pawn(owner).PlayerReplicationInfo)!=none)
           pri=tfpri(pawn(owner).PlayerReplicationInfo);
        else if(owner.owner!=none && pawn(owner.owner)!=none && pawn(owner.owner).PlayerReplicationInfo!=none && tfpri(pawn(owner.owner).PlayerReplicationInfo)!=none)
           pri=tfpri(pawn(owner.owner).PlayerReplicationInfo);
        if(pri!=none) tfprojectile(p).SkillOnFire=pri.UsedCredits;
    }
    return p;
}